// miniprogram/pages/mine/mine.js
const app = getApp()
var common = require('../../utils/common.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo: {},
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.startPullDownRefresh()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    var that = this
    app.userInfoReadyCallback = userInfo => {
      console.log(userInfo)
      that.setData({
        userInfo:userInfo
      })
    }
    that.setData({
      userInfo:app.globalData.userInfo
    })

    console.log(that.data.userInfo)
    
    wx.stopPullDownRefresh()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  getUserProfile(e) {
    let that = this
    // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认
    // 开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
    wx.getUserProfile({
      desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        app.globalData.userInfo = res.userInfo
        that.setData({
          userInfo: app.globalData.userInfo
        })
        console.log(res)
        that.updateUserInfo()
      }
    })
  },
  onGetUserInfo: function (e) {
    var that = this
    if (e.detail.userInfo) {
      console.log(e.detail)
      that.setData({
        userInfo:e.detail.userInfo
      })
      //用户信息保存到全局
      app.globalData.userInfo = e.detail.userInfo
      //调用这里，说明是第一次授权，则更新用户信息
      that.updateUserInfo()
    }
  },
  updateUserInfo(){
    var that = this
    wx.request({
      url: common.baseUrl() + '/user/update',
      method: "PUT",
      header: {
        "Authorization": app.globalData.token
      },
      data:app.globalData.userInfo,
      success(res) {
        console.log(res)
        if (res.data.flag) {
          //再次更新app.globalData.userInfo，确保有id，用于后面操作
          app.globalData.userInfo = res.data.data
          wx.stopPullDownRefresh()
        }
      },
      fail(res) {
        console.log(res)
      }
    })
  },
  pointClick: function(e){
    wx.navigateTo({
      url: 'point/point'
    })
  },
  settingClick: function(e){
    wx.navigateTo({
      url: 'setting/setting',
    })
  }
})